namespace OhioState.Graphics
{
    /// <summary>
    /// This interface represents a shader routine; 
    /// </summary>
    public interface IShaderRoutine
    {
        /// <summary>
        /// Get or set shader content.
        /// </summary>
        string ShaderContent { get; set; }

        /// <summary>
        /// Compile the shader.
        /// </summary>
        /// <param name="resourceManager">Resource manager.</param>
        /// <returns>Whether or not compilation succeeded.</returns>
        bool Compile(IRenderPanel panel);
    }
}
